package com.hulk.dryad.persistence.struct;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.mapstruct.*;

import java.util.List;

/**
 * @author hulk
 */
@MapperConfig
public interface BasicStruct<SOURCE, TARGET> {


	/**
	 * @param var
	 * @return
	 */
    @Mappings({})
    @InheritConfiguration
    TARGET to(SOURCE var);
	/**
	 * @param var
	 * @return
	 */
    @InheritInverseConfiguration
    SOURCE from(TARGET var);



	/**
	 * @param var
	 * @return
	 */
	@InheritConfiguration
	List<TARGET> to(List<SOURCE> var);
	/**
	 * @param var
	 * @return
	 */
    @InheritInverseConfiguration
    List<SOURCE> from(List<TARGET> var);



	/**
	 * mybatisplus 分页转换
	 * @param var
	 * @return
	 */
	@InheritConfiguration
	Page<TARGET> to(Page<SOURCE> var);

	/**
	 * mybatisplus 分页转换
	 * @param var
	 * @return
	 */
	@InheritInverseConfiguration
	Page<SOURCE> from(Page<TARGET> var);

 
}